The present invention relates to an electronic tender system, and particularly to a method for coding a bid and a method for deciding a contract price.
As known from Japanese Patent Laid-Open No. HEI2-118876, for example, an electronic tender system uses coding technology because the bid information should be kept confidential until the tender opening. All coded bid information is decoded at the tender opening to decide the highest or the lowest bid as the contract price. The announcement of all bids allows all bidders to confirm that the contact price has been decided correctly, in other words, it was the highest or the lowest price among the bids.
Recently, it has become important not to publish the unaccepted bids because of privacy concerns. To meet this requirement, for example, an approach has been disclosed in an article, “Multi-round Anonymous Auction Protocols” by Kikuchi, Harkavy and Tyger, published. in “IEEE Workshop on Dependable and Real-time E-Commerce System”. This approach disclosed in the prior art literature is shown in FIG. 1.
In this approach, the bidder creates a data row corresponding to a series indicating bids at successive bid prices. If the bidder wishes to offer a bid at a given price, the bidder's ID is supplied in correspondence to that price. If the bidder does not wish to offer a bid at a given price, a value 0 is supplied in correspondence to that price. This series of data forms a data row. Each data row is encoded. The opener receives encoded data rows transmitted by all bidders, adds them together and then decodes the sum to determine the contract price. In this approach, as the code string data of individual bidder is not decoded, the bid of respective bidder can be kept secret, and at the same time, the identification information of the highest price bidder can be extracted from the sum of the data rows.
Now, the principle of identification extraction will be described. A bidder having an identification information IDi, creates a data row corresponding to his bids as follows. Suppose the tender reception range be (a, b) and his bid a+v(<b), then (v+1) times the bidder's ID are concatenated. This indicates that the bidder is willing to bid at each corresponding amount. Next, the value 0 is concatenated b−(a+v) times. This indicates that the bidder is not willing to bid at any of the corresponding amounts. Thus, a data row containing (b−a+1) elements is generated.
A data row is then created from each received data row, in which the respective elements of each received data row are added. In the resulting data row, if the element where 0 appears first is labeled as the tth element, the highest bid (contract price) is the bid corresponding to the a+t−1 element, and the winning bidder has identification information in that bidder's data row for the bid corresponding to the t−1 st element.
However, in this prior art, the bid data becomes longer in proportion to the tender reception price range, because the data row is created in proportion to the length of the tender reception range, and then it is divided to code. Further, when a plurality of bidders have offered the contract price, it is impossible to determine the identification or the number of concerned bidders, because the IDs of the winning bidders have been added together.